From 4e109e6d68b75b6dde4cf878100f10eef366cff1 Mon Sep 17 00:00:00 2001 From: "kaf24@localhost.localdomain" Date: Sun, 28 Jan 2007 09:35:00 +0000 Subject: [PATCH] Reject xm sched-* comands for other than the in-use scheduler. Signed-off-by: Masaki Kanno --- tools/python/xen/xm/main.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index 95990f8f62..f363efc2cd 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -706,6 +706,15 @@ def parse_doms_info(info): 'seclabel' : security.get_security_printlabel(info), } +def check_sched_type(sched): + current = 'unknown' + for x in server.xend.node.info()[1:]: + if len(x) > 1 and x[0] == 'xen_scheduler': + current = x[1] + break + if sched != current: + err("Xen is running with the %s scheduler" % current) + sys.exit(1) def parse_sedf_info(info): def get_info(n, t, d): @@ -1098,6 +1107,8 @@ def xm_sched_sedf(args): print( ("%(name)-32s %(domid)3d %(period)9.1f %(slice)9.1f" + " %(latency)7.1f %(extratime)6d %(weight)6d") % info) + check_sched_type('sedf') + # we want to just display current info if no parameters are passed if len(args) == 0: domid = None @@ -1170,6 +1181,8 @@ def xm_sched_sedf(args): def xm_sched_credit(args): """Get/Set options for Credit Scheduler.""" + check_sched_type('credit') + try: opts, params = getopt.getopt(args, "d:w:c:", ["domain=", "weight=", "cap="]) -- 2.30.2